/**
 * Description:该类主要用于创建一个复选按钮
 * Copyright: 成都和为科技有限公司 2012
 * 
 * 属性：
 *   groupname - 分组名字，当页面有两组单选按钮，不许设置该名字
 *   label - 按钮旁边显示的文字
 *   checked - 是否选中
 *   value - 选中值
 */
function CheckBox() {}

CheckBox.inherit(Control);

/**
 * 初始化方法
 */
CheckBox.prototype.init = function () {
	CheckBox.base.init.call(this);
}

/**
 * 创建HTML节点
 */
CheckBox.prototype.create = function () {
    this._html = document.createElement("label");
    $(this._html).addClass("checkbox-inline");
    $(this._html).append("<input type='checkbox'/><span></span>");
}

CheckBox.prototype.initLoad = function() {
	var oInput = $("input", this.getHTML());
    if (this.getAttribute().groupname) {
        oInput.attr("name", this.getAttribute().groupname);
    }
    if (this.getAttribute().checked == "true") {
        oInput.attr("checked", true);
        oInput.attr("default", true);
	}
	if (this.getAttribute().disabled == "true") {
		this.setDisabled();
	}
	if (this.getAttribute().value) {
        oInput.attr("value", this.getAttribute().value);
	}
    if (this.getAttribute().text) {
        $("span",this._html).text(this.getAttribute().text);
    }
    
    var othis = this;
    $("input", this.getHTML()).bind("change", function(e){
        othis.triggerAttributeEvent("onchange", e);
    });
}

/**
 * 设置groupName值
 */
CheckBox.prototype.setGroupName = function(name){
	$('input',this._html).attr("name",name);
}

/**
 * 设置显示文字
 */
CheckBox.prototype.setLabel = function(value){
	$("span", this._html).text(value);
}

/**
 * 设置显示文字
 */
CheckBox.prototype.getLabel = function(){
	return $("span", this.getHTML()).text();
}

/**
 * 设置显示文字
 */
CheckBox.prototype.setText = function(value){
	$("span", this._html).text(value);
}

/**
 * 设置显示文字
 */
CheckBox.prototype.getText = function(){
	return $("span", this.getHTML()).text();
}

/**
 * 是否选中
 */
CheckBox.prototype.hasChecked = function(){
	if($("input", this.getHTML())[0].checked){
		return true;
	}else{
		return false;
	}
}

CheckBox.prototype.getValue = function() {
	if (this.hasChecked()) {
		return $("input", this.getHTML()).val();
	} else {
		return "";
	}
}

CheckBox.prototype.setValue = function(sValue) {
    if (sValue == $("input", this.getHTML()).val()) {
        this.setChecked();
    } else {
        this.setUnChecked();
    }
}

/**
 * 设置选中
 */
CheckBox.prototype.setChecked = function() {
	$("input", this.getHTML())[0].checked = true;
}

/**
 * 设置未选中
 */
CheckBox.prototype.setUnChecked = function(){
	$("input",this.getHTML())[0].checked = false;
}


CheckBox.prototype.setDisabled = function(){
	$("input",this.getHTML()).attr("disabled","true");
	this._disable = true;
}

CheckBox.prototype.setEnable= function(){
	$("input",this.getHTML()).removeAttr("disabled");
	this._disable = false;
}
